//package com.yunhe.device.service.base;
//
//import com.yunhe.device.domain.base.AnalogStatus;
//import com.yunhe.common.exception.ArgumentErrorException;
//import com.yunhe.common.exception.ObjectNotFoundException;
//import com.yunhe.common.exception.UniqueConstraintsException;
//import org.springframework.transaction.annotation.Transactional;
//
//import java.util.List;
//import java.util.Map;
//
///**
// * 点表状态Service
// * @desc 点表状态服务类定义
// * @author liuronglei
// */
//public interface AnalogStatusService {
//
//    /**
//     * 新增点表状态
//     * @param analogStatus 点表状态对象
//     */
//    @Transactional
//    AnalogStatus createAnalogStatus(AnalogStatus analogStatus)
//            throws ArgumentErrorException, UniqueConstraintsException;
//
//    @Transactional
//    List<AnalogStatus> createAnalogStatus(List<AnalogStatus> analogStatusList)
//            throws ArgumentErrorException, UniqueConstraintsException;
//
//    /**
//     * 删除点表状态
//     * @param analogStatusId 点表状态ID
//     */
//    @Transactional
//    void deleteAnalogStatus(Long analogStatusId);
//
//    /**
//     * 更新点表状态（更新全部字段）
//     * @param analogStatus 点表状态对象
//     */
//    @Transactional
//    AnalogStatus updateAnalogStatus(AnalogStatus analogStatus)
//            throws ArgumentErrorException, UniqueConstraintsException, ObjectNotFoundException;
//
//    /**
//     * 更新点表状态（更新指定字段）
//     * @param analogStatusId 点表状态ID
//     * @param code 代码
//     * @param name 编号
//     * @param title 标题
//     * @param val
//     * @param sn 排序序号
//     * @param activity 是否可用
//     */
//    @Transactional
//    AnalogStatus updateAnalogStatus(Long analogStatusId,
//                                    Long code,
//                                    String name,
//                                    String title,
//                                    Long val,
//                                    Long sn,
//                                    Boolean activity)
//            throws ArgumentErrorException, ObjectNotFoundException, UniqueConstraintsException;
//
//    /**
//     * 根据ID获得点表状态对象
//     * @param id 状态ID
//     */
//    AnalogStatus findByAnalogStatusId(Long id);
//
//    /**
//     * 根据代码获得点表状态对象
//     * @param code 代码
//     */
//    AnalogStatus findByCode(Long code);
//
//    /**
//     * 根据编号获得点表状态对象
//     * @param name 编号
//     */
//    AnalogStatus findByName(String name);
//
//    /**
//     * 获得全部点表状态对象
//     */
//    Iterable<AnalogStatus> findAnalogStatus();
//
//    /**
//     * 获取所有的点表状态
//     */
//    Map<Long, Map<Long, String>> findAll();
//
//    /**
//     * 根据代码绑定点号数据类型
//     * @param code 代码
//     * @param pointDataTypeCode 点号数据类型代码
//     */
//    void bindPointDataTypeByCode(Long code, Long pointDataTypeCode);
//
//    /**
//     * 根据点号和点号值获得点表值枚举
//     * @param pointNumber 点号
//     * @param value 点号值
//     */
//    AnalogStatus findByPointNumberAndValue(Long pointNumber, Double value);
//
//    /**
//     * 根据点号和点号值列表获得点表值枚举列表
//     * @param pointNumber 点号
//     * @param valueList 点号值列表
//     */
//    List<String> findAnalogStatusTitle(Long pointNumber, List<Double> valueList);
//
////    String getAnalogStatus(Long systemId, Long pointNumber);
//}
